package com.ovidiojf.fieldplan.atleta;

import java.util.Date;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import com.ovidiojf.fieldplan.pessoa.Endereco;

@ManagedBean(name = "atletaBean")
@RequestScoped
public class AtletaBean {

	private Atleta atletaSelecionado = new Atleta();
	private List<Atleta> lista = null;

	public void salvar() {
		AtletaRN atletaRN = new AtletaRN();
		atletaSelecionado.setDataCadastro(new Date());

		if (this.atletaSelecionado.getId() != null && this.atletaSelecionado.getId() != 0)
			atletaRN.alterar(atletaSelecionado);
		else {
			atletaRN.salvar(atletaSelecionado);

			FacesMessage facesMessage = new FacesMessage("Atleta salvo com sucesso!");
			FacesContext facesContext = FacesContext.getCurrentInstance();
			facesContext.addMessage(null, facesMessage);
		}
		this.lista = null;
	}

	public Atleta getAtletaSelecionado() {
		return atletaSelecionado;
	}

	public void setAtletaSelecionado(Atleta atletaSelecionado) {
		this.atletaSelecionado = atletaSelecionado;
	}

	public List<Atleta> getLista() {

		if (lista == null) {
			AtletaRN atletaRN = new AtletaRN();
			lista = atletaRN.listar();
		}

		return lista;
	}

	public void excluir() {
		AtletaRN atletaRN = new AtletaRN();
		atletaRN.excluir(atletaSelecionado);
		this.lista = null;
	}

	public void novo() {
		this.atletaSelecionado = new Atleta();
		this.atletaSelecionado.setEndereco(new Endereco());
	}
	
	public List<Atleta> listarPorNome() {
		List<Atleta> lista = new AtletaRN().listarPorNome(atletaSelecionado.getNome());
		
//		if (lista == null) {
//			System.out.println("nulll");
//			return getLista();
//		}
//		else
//			System.out.println("EEEEEEEEEe "+ lista.size()+ " - " + atletaSelecionado.getNome());
		
		return lista;
	}

}
